Computers have now become an integral part of our society both in business and in residential settings. Almost every business of sufficient size in Germany, the United States, and other developed countries has one or more computers to assist them in running their businesses. Similarly, many families in those countries now have computers at home that are used to run various applications including games.
Some attribute the popularity of the computers to the Internet. The Internet provides people with a ready access to vast amounts of data. Many people now get their news, sports, stock, entertainment, and other information primarily from the Internet. Businesses have also embraced the Internet. The Internet provides the opportunity for computers to communicate instantly with other computers or individuals. Business processes that were once restricted to intranets and their users are now moving to the Internet. Accordingly, companies are moving more and more of their data to electronic forms. In addition, companies have amassed huge amounts of data in an effort to understand their business, improve performance, and build stronger employee, customer, and partner relationships.
Virtualization is a technology for optimizing processing at a computer. Virtualization provides a software layer that when executed allows multiple virtual machines with, in some cases, different operating systems to run side-by-side with other virtual machines running on the same host (e.g., a physical machine, such as a node, a computer, a processor, a server, a blade, and the like). A virtual machine is a machine that is defined and implemented in software rather than hardware. The virtualization software provides a so-called “wrapper” that wraps and isolates the virtual machine from other virtual machines. For example, in a server complex including fifty physical servers, each of which hosts its own application server, virtualization permits the server complex to instead operate with, for example, twenty-five physical servers, each of which includes virtualization software providing two virtual machines to operate as application servers. In both cases, fifty application servers are deployed, but with virtualization, the number of physical servers is reduced to twenty-five. Virtualization software may also control one or more of the following functions: running multiple virtual machines with different operating systems at the same time on the same physical machine; generating fully configured isolated virtual machines with a set of virtual hardware including an operating system and applications; saving, copying, and provisioning of virtual machines; and moving virtual machines from one physical machine to another physical machine for workload management.
An example of virtualization software is a hypervisor (also referred to as a virtual machine controller or, more simply, a controller). VMWare ESX and VMware Server are examples of hypervisor software for virtualizing an operating environment (including operating system, IP (Internet Protocol) addresses, registries, and other aspects normally found in a computer system) to provide a virtual machine. The hypervisor software may control (or manage) the physical machine's processor, memory, and other resources enabling the virtual operating environments (i.e., systems).
The virtual machine may include an operating system. The operating system may include one or more applications. An operating system (OS) is the program that, after being initially loaded into the computer by a boot program, manages other programs on computer. The other programs are called applications (also referred to as application programs). The application may make use of the operating system by making requests for services through one or more application program interfaces (API). An application may perform one or more specific functions (or tasks) directly for a user or, in some cases, another program or application program. Examples of applications include spreadsheets, word processing, browsers, and the like. For example, a virtual machine may include an operating system, such as Linux or Windows Vista, and one or more application programs, such as a browser, all of which operate in the so-called “container” provided by the virtual machine. In some cases, the virtual machine may also include some data for use by the application.
The phrase “virtual appliance” refers to an example of a virtual machine that may include the application, operating system, and other items (e.g., data, drivers, and etc.) to enable simplification of the installation and the configuration process associated with running the application.